import axios from 'axios'
import { createStore } from 'vuex';
export default createStore({
    actions: {
        async getUserId(context) {
            const { data } = await axios.get('/login/status');
            if (data.data.code == 200 && data.data.profile) {
                context.commit('GET_USERID', data.data.profile.userId);
            }
        }
    },
    mutations: {
        // 控制登录对话框打开和关闭
        MODIFY_LOGIN_DIALOG(context, value) {
            context.login_dialog = value;
        },
        // 控制登录模式(true: 二维码登录, false: 其他方式登录)
        CHANGE_LOGIN_MODE(context, value) {
            context.login_mode = value;
        },
        // 获取登录状态返回的信息
        USER_INFO(context, info) {
            context.userInfo = { ...info };
        },
        GET_USERID(context, value) {  //获取userId
            context.userId = value;
        },
        GET_PLAY_COUNT(context, playCount) {
            context.playCount = playCount
        }
    },
    state() {
        return {
            // 登录相关
            login_dialog: false,
            login_mode: true,
            login_agreement: false,
            userInfo: {}, // 用户信息 {userId, nickname, avatarUrl}
            userId: null,


            // 播放次数
            playCount: null
        }
    }
})